#include "Dependecies.h"

namespace Pantsu {

	class PantsuEngine {

	public:
		void InitEngine( HINSTANCE i_hInstance );
		void DeInitEngine();
		void RenderOneFrame();

		SceneManager *CreateSceneManager( char *i_scnmgr_id );

		inline SceneManager *GetSceneManager( int index ) {
			return m_SceneManagers[ index ];
		}
	private: 
		PantsuRenderer *m_pRenderer;
	
	public:
		virtual ~PantsuEngine();
		
	public:
		/* Inline Methods */
		static PantsuEngine *Get() {
			if ( !m_pIst ) {
				m_pIst = new PantsuEngine();
			}
			return m_pIst;
		}

	private:
		PantsuEngine();

	private:
		static PantsuEngine *m_pIst;
		SceneManager  *m_SceneManagers[ 50 ];
	};
}